package com.ruoyi.wb.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 执行维保计划对象 wb_plan_exe
 *
 * @author ruoyi
 * @date 2024-10-14
 */
@ApiModel(value = "WbPlanExe", description = "执行维保计划实体")
public class WbPlanExe extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 id */
    @ApiModelProperty(value = "主键 id")
    private Long id;

    /** 客户 id */
    @Excel(name = "客户 id")
    @ApiModelProperty(value = "客户 id")
    private Long clientId;

    /** 客户名 */
    @Excel(name = "客户名")
    @ApiModelProperty(value = "客户名")
    private String clientName;

    /** 计划类型(可多选)，月、季度、半年、整年 */
    @Excel(name = "计划类型(可多选)，月、季度、半年、整年")
    @ApiModelProperty(value = "计划类型(可多选)，月、季度、半年、整年")
    private String projectType;

    /** 计划 id */
    @Excel(name = "计划 id")
    @ApiModelProperty(value = "计划 id")
    private Long projectId;

    /** 录入单位 id */
    @Excel(name = "录入单位 id")
    @ApiModelProperty(value = "录入单位 id")
    private Long businessId;

    /** 录入单位 */
    @Excel(name = "录入单位")
    @ApiModelProperty(value = "录入单位")
    private String businessName;

    /** 执行时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "执行时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "执行时间")
    private Date exeTime;

    /** 执行人 */
    @Excel(name = "执行人")
    @ApiModelProperty(value = "执行人")
    private String exeBy;

    /** 执行状态(1 待接单，2 已接单待开始，3 进行中(我已到达)，4 待支付，5 完成) */
    @Excel(name = "执行状态(1 待接单，2 已接单待开始，3 进行中(我已到达)，4 待支付，5 完成)")
    @ApiModelProperty(value = "执行状态(1 待接单，2 已接单待开始，3 进行中(我已到达)，4 待支付，5 完成)")
    private Long exeStatus;

    /** 凭条 */
    @Excel(name = "凭条")
    @ApiModelProperty(value = "凭条")
    private String entrySlip;

    /** 现场照片 */
    @Excel(name = "现场照片")
    @ApiModelProperty(value = "现场照片")
    private String scenePic;

    /** 删除状态(1 存在，2 删除) */
    @ApiModelProperty(value = "删除状态(1 存在，2 删除)")
    private Long delFlag;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setClientId(Long clientId) {
        this.clientId = clientId;
    }

    public Long getClientId() {
        return clientId;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public String getClientName() {
        return clientName;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setBusinessId(Long businessId) {
        this.businessId = businessId;
    }

    public Long getBusinessId() {
        return businessId;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }

    public String getBusinessName() {
        return businessName;
    }

    public void setExeTime(Date exeTime) {
        this.exeTime = exeTime;
    }

    public Date getExeTime() {
        return exeTime;
    }

    public void setExeBy(String exeBy) {
        this.exeBy = exeBy;
    }

    public String getExeBy() {
        return exeBy;
    }

    public void setExeStatus(Long exeStatus) {
        this.exeStatus = exeStatus;
    }

    public Long getExeStatus() {
        return exeStatus;
    }

    public void setEntrySlip(String entrySlip) {
        this.entrySlip = entrySlip;
    }

    public String getEntrySlip() {
        return entrySlip;
    }

    public void setScenePic(String scenePic) {
        this.scenePic = scenePic;
    }

    public String getScenePic() {
        return scenePic;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("clientId", getClientId())
                .append("clientName", getClientName())
                .append("projectType", getProjectType())
                .append("projectId", getProjectId())
                .append("businessId", getBusinessId())
                .append("businessName", getBusinessName())
                .append("exeTime", getExeTime())
                .append("exeBy", getExeBy())
                .append("exeStatus", getExeStatus())
                .append("entrySlip", getEntrySlip())
                .append("scenePic", getScenePic())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .toString();
    }
}